import sys

from loguru import logger

logger.info("这是信息")
logger.debug("这是调试信息")
logger.warning("这是警告信息")
logger.error("这是错误信息")
logger.critical("这是严重错误信息")

logger.info("===============  配置输出  ===============")

# logger.add()用于添加一个新日志处理器，sys.stderr:表示输出到标准错误
# format="{time} {level} {message}" 设置输出的格式是 时间、级别、信息
# level="INFO" 设置级别为INFO,只记录INFO级别以上的日志
logger.add(sys.stderr, format="{time} | {level} | {message}", level="INFO")
logger.info("这是信息")
logger.debug("这是调试信息")
logger.warning("这是警告信息")
logger.error("这是错误信息")
logger.critical("这是严重错误信息")

# 添加一个到文件的输出

# rotation="1 week" 表示日志文件每星期滚动一次
# retention="1 month" 表示日志文件保留一个月
# compression="zip" 使用zip缩旧的日志文件
# level="DEBUG" 记录DEBUG级别以上的日志
logger.add("file.log",rotation="1 week", retention='1 month', compression="zip", level="DEBUG")
logger.info("这是信息")
logger.debug("这是调试信息")
logger.warning("这是警告信息")
logger.error("这是错误信息")
logger.critical("这是严重错误信息")

logger.info("===============  日志过滤  ===============")
logger.add("file.log", level="INFO")    # 只记录INFO级别以上的日志
logger.info("这是信息")
logger.debug("这是调试信息")
# 只记录当前模块下的日志
logger.add("file.log")
# 只记录当前模块下的日志
logger.add("file.log", filter="__main__")
logger.info("这是信息")
logger.debug("这是调试信息")

logger.info("===============  设置别名  ===============")
log = logger.bind(name="my_logger")
log.info("这是信息")
log.debug("这是调试信息")

logger.info("===============  使用异步日志  ===============")
logger.add("file.log", level="INFO", enqueue=True)
logger.critical("这是严重错误日志")